public class DefaulfFuncDemo {
    public static void main(String[] args) {
        InterImpl1 instance = new InterImpl1();
        instance.show1();
        instance.show2();
        instance.show3();
    }
}

 class InterImpl1 implements myInterface{
    @Override
    public void show1() {
        System.out.println("show1");
    }

    @Override
    public void show2() {
        System.out.println("show2");
    }
    public void show3(){
        System.out.println("rewrite show3");
    }
}

 interface myInterface{
   void show1();
   void show2();

   //将该接口下后面添加的方法 用 default 修饰 ,
   //可以保证以前实现过该接口的类不会因为要重写新添加的方法而报错。(即用default 修饰的方法 不会被强制要求重写)
   //当然,实现该接口的类也可以选择重写该方法。
   //若选择重写该方法，则不能用 default修饰
   default void show3(){
        System.out.println("show3");
    }

}